package com.dhcc.base;

import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;

/**
 * 基础服务接口，封装了基本的 CRUD 操作和逻辑删除功能
 * @author liuguoting
 * @param <T> 实体类类型
 */
public interface BaseService<T> extends IService<T> {
	/**
	 * 根据 id 逻辑删除
	 * @param id 实体 ID
	 * @return boolean 删除是否成功
	 */
	boolean deleteByIdLogic(@NotEmpty String id);

	/**
	 * 批量逻辑删除
	 * @param ids 实体 ID 列表
	 * @return boolean 删除是否成功
	 */
	boolean deleteBatchByIdsLogic(@NotEmpty List<String> ids);
}
